/* 
1 发送请求获取数据 
2 点击轮播图 预览大图
  1 给轮播图绑定点击事件
  2 调用小程序的api  previewImage 
3 点击 加入购物车
  1 先绑定点击事件
  2 获取缓存中的购物车数据 数组格式 
  3 先判断 当前的商品是否已经存在于 购物车
  4 已经存在 修改商品数据  执行购物车数量++ 重新把购物车数组 填充回缓存中
  5 不存在于购物车的数组中 直接给购物车数组添加一个新元素 新元素 带上 购买数量属性 num  重新把购物车数组 填充回缓存中
  6 弹出提示
4 商品收藏
  1 页面onShow的时候  加载缓存中的商品收藏的数据
  2 判断当前商品是不是被收藏 
    1 是 改变页面的图标
    2 不是 。。
  3 点击商品收藏按钮 
    1 判断该商品是否存在于缓存数组中
    2 已经存在 把该商品删除
    3 没有存在 把商品添加到收藏数组中 存入到缓存中即可
 */


// pages/goods_detail/index.js
import request from '../../request/request.js'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    goodsDetail: {}

  },

  goodsDetailInfo: {}, //定义全局变量



  // 1 发送请求获取数据
  getGoodsDetail(goods_id) {
    request({ url: "/goods/detail", data: goods_id })
      .then(result => {
        console.log(result)
        this.goodsDetailInfo = result
        this.setData({
          goodsDetail: result
        })
      })
  },



  // 2  点击轮播图 预览大图
  previewImage(e) {
    //获取goodsDetailInfo 对应的图片链接地址 
    // console.log(this.goodsDetailInfo)
    // console.log(e.currentTarget.dataset)

    let { current } = e.currentTarget.dataset

    // console.log(current)



    let urls = this.goodsDetailInfo.pics.map(v => v.pics_mid_url) //map 映射 一一对应
    console.log(urls)

    wx.previewImage({
      // current: current,// 当前显示图片的http链接
      // urls: urls,  // 需要预览的图片http链接列表
      current,
      urls

    });

  },


  // 3 点击 加入购物车
  addCartGoods() {
    //  先判断一下之前购物车里面有没有该商品    如果没有那么第一次添加  动态追加一个num =1  
    // 如果已经有了该商品 那么让该商品的数量++  num++  

    //1 先判断  小程序里面的缓存功能  getStorageSync
    let cart = wx.getStorageSync('cart') || []; // 如果第一个值为真那么就第一个值 如果第一值为假 那么取第二值

    let index = cart.findIndex((v) => v.goods_id === this.goodsDetailInfo.goods_id)

    console.log(index)
    //2 判断完成后处理
    if (index == -1) { // 如果没有那么第一次添加  动态追加一个num =1
      this.goodsDetailInfo.num = 1;
      this.goodsDetailInfo.checked=true // 动态添加一个选中的属性
     

      cart.push(this.goodsDetailInfo)

    } else {
      // ['冰箱','杯子']
      // this.goodsDetailInfo.num++
      cart[index].num++

    }

    wx.setStorageSync("cart", cart);  //setStorageSync  同步
    wx.showToast({
      title: '添加商品成功',
      icon: 'success',
      mask: true, //防抖  

    });
  },


 











  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let { goods_id } = options
    console.log(goods_id)
    this.getGoodsDetail({ goods_id })

  },





  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})